$(function () {
	$("#jqGrid").jqGrid({
		url: 'sys/generator/list',
		datatype: "json",
		colModel: [
			{ label: '表名', name: 'tableName', width: 100, key: true },
			{ label: 'Engine', name: 'engine', width: 70},
			{ label: '表备注', name: 'tableComment', width: 100 },
			{ label: '创建时间', name: 'createTime', width: 100 }
		],
		viewrecords: true,
		height: 385,
		rowNum: 10,
		rowList : [10,30,50,100,200],
		rownumbers: true,
		rownumWidth: 25,
		autowidth:true,
		multiselect: true,
		pager: "#jqGridPager",
		jsonReader : {
			root: "page.list",
			page: "page.currPage",
			total: "page.totalPage",
			records: "page.totalCount"
		},
		prmNames : {
			page:"page",
			rows:"limit",
			order: "order"
		},
		gridComplete:function(){
			//隐藏grid底部滚动条
			$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
		}
	});
});

var vm = new Vue({
	el:'#rrapp',
	data:{
	    database:[],
		currentDatabase:'',
		q:{
			tableName: null
		},
		config:{

		}
	},
    created(){
		this.getConfig();
	    this.getDataBase();
    },
	methods: {
	    getDataBase:function(){
            $.get("/sys/generator/getDatabase",{},function(res){
                vm.database = res.data
                console.log(this.database)
            });
        },
		query: function () {
			$("#jqGrid").jqGrid('setGridParam',{
                postData:{
                	"database":vm.currentDatabase,
					'tableName': vm.q.tableName
				},
                page:1 
            }).trigger("reloadGrid");
		},
		getConfig(){
			$.get("/sys/generator/getConfig",{},function(res){
				vm.config = res.data
				console.log(res)
			});
		},
		generator: function() {
            var tableNames = getSelectedRows();
            if(tableNames == null){
                return ;
            }
            location.href = "sys/generator/code?tables=" + tableNames.join() + "&database="+vm.currentDatabase;
		},
		saveConfig(){

			var c = JSON.stringify(this.config);
			console.log(c)
			$.ajax(
				{
					url:"sys/generator/saveConfig",
					data:c,
					type:"POST",
					success:(res)=>{
						location.reload()
					},
					datatype: "json",
					contentType:"application/json"
				}
			);
		}
	}
});

